package com.bricks2break;

import com.events.EventTimer;
import com.sprites.BrickGroup;

import android.graphics.Paint;
import sheep.graphics.Color;
import sheep.graphics.Image;

/**
 * 
 * This class contains the static variables that are used. 
 *
 */
public final class Statics {

	// General
	public static int SCREEN_HEIGHT;
	public static int SCREEN_WIDTH;
	// Bigger number on PADDLE_TOUCH_AREA_FACTORgives bigger touch area around
	// the paddle(It is multiplied with paddle size)
	public static final int PADDLE_TOUCH_AREA_FACTOR = 4;
	public static final int COLLISION_GROUP = 0;
	public static final int NORMAL_BRICK_VALUE = 10;
	public static final int SPECIAL_BRICK_VALUE = 20;
	public static final int DEFAULT_BALL_SPEED_X = 75;
	public static final int DEFAULT_BALL_SPEED_Y = 90;
	public static final float PADDLE_DIRECTIONAL_BOUNCE_AREA = 40;
	public static float specialBrickTime = 10.0f;

	// Easy access
	public static Level level;
	public static EventTimer eventTimer;
	public static BrickGroup brickGroup;

	// Fixed positions
	public static final float POSITION_PADDLE_TOP = 30;
	public static float POSITION_PADDLE_BOTTOM;
	public static float POSITION_BRICK_SPAWN_TOP;
	public static float POSITION_BRICK_SPAWN_BOTTOM;
	public static final int DISTANCE_FROM_CENTER = 50;

	// Colors
	public static final Paint white = new Paint(Color.WHITE), lightSkinTone = new Paint(new Color(255, 209, 164)), gray = new Paint(new Color(200, 200, 200)), black = new Paint(new Color(0, 0, 0)), blue = new Paint(Color.BLUE), red = new Paint(Color.RED), green = new Paint(Color.GREEN), orange = new Paint(new Color(255, 128, 0)), turquoise = new Paint(new Color(0, 255, 255)), yellow = new Paint(new Color(255, 255, 0)), pink = new Paint(new Color(255, 0, 128));

	// Text fonts and colors
	public static Paint txt = new Paint(Color.WHITE);

	// Text strings
	public static final String string_no_winner = "There was no winner! ";
	public static final String string_next_level = "Next level";
	public static final String string_no_more_levels = "No more levels!";
	public static final String string_start_menu = "Start Menu";
	public static final String string_brick_properties = "Brick properties";
	public static final String string_game_tied = "The game was tied! ";
	public static final String string_winner_top = "The winner is top player, with ";
	public static final String string_winner_bottom = "The winner is bottom player, with ";
	public static final String string_loser_bottom = "Bottom player got ";
	public static final String string_loser_top = "Top player got ";
	public static final String string_tie = "They both got ";
	public static final String string_start_game = "Start game";
	public static final String string_choose_board = "Choose board:";
	public static final String string_exit_game = "Exit game";
	public static final String string_back = "Back";
	public static final String string_normal_brick = "Normal brick:";
	public static final String string_normal_brick_properties = "- Gives 10 points. Can have any color.";
	public static final String string_double_speed_brick = "Double Speed brick:";
	public static final String string_double_speed_brick_properties = "- Ball gets double speed for 10 sec.";
	public static final String string_double_points_brick = "Double Points brick:";
	public static final String string_double_points_brick_properties = "- Player gets double points for 10 sec.";
	public static final String string_game_over_text = "Level completed!";

	// BrickLevels
	/**
	 * In bricks each string represent a single level, char represent one brick:
	 * 'w': White brick, 'r': Red brick, 'b': Blue brick, 'g': Green brick 'p':
	 * Pink brick, 't': Turquoise brick 'o': Orange brick, 'y': Yellow brick ,
	 * 'e': Black brick, 's': Green DoubleBallSpeedBrick 'q': Random color
	 * brick, 'l': Light Skintone brick, 'i': Orange DoublePointsBrick 'm':
	 * Blank(No brick/Skip)
	 */
	public static String[] bricks = new String[] { "wrrwrwwrwrwrrirwswwrwrwrrwrwrw", "myyyymyeyyeyyyyyyyyeyyeyyyeeyymyyyym", "eelleelbllblllllllrllllrlrrrrl" };
	public static final int numberOfCols = 6;

	// Images
	public static final Image image_brick = new Image(R.drawable.brick);
	public static final Image image_paddle = new Image(R.drawable.paddle);
	public static final Image image_ball = new Image(R.drawable.ball);
	public static final Image image_lvlplus = new Image(R.drawable.imgplus);
	public static final Image image_lvlminus = new Image(R.drawable.imgminus);
	public static final Image image_logo = new Image(R.drawable.logo);
}
